module.exports = {
  /**
   * chainWebpack和configureWebpack都可以用来自定义webpack的打包配置，作用完全相同
   * 唯一的区别就是它们修改webpack配置的方式不同
   * chainWebpack：通过链式编程的方式，来修改默认的webpack的配置
   * configureWebpack：通过操作对象的方式，来修改默认的webpack的配置
   */
  chainWebpack: config => {
    // 发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-prod.js')
      // 凡是声明在externals中的第三方包，都不会被打包合并到最终的文件中
      config.set('externals', {
        vue: 'Vue',
        axios: 'axios',
        'vue-router':'VueRouter',
        nprogress:'NProgress',
        'element-ui':'Element'
        // lodash: '_'
      })
    })

    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-dev.js')
    })
  }
}